#ifndef __UDSF_RAMP_GENE_C_
#define __UDSF_RAMP_GENE_C_

#include "udf_global.h"
/*
*   notice:
*   UDSF 同UDF编程：不可调用cstd-lib,只可调用"sdk_ifs_udk_cfg.h"、"sys_api.h"中列出的API函数。
*   UDSF文件内函数均需使用static修饰符，且UDF中以#include "UDSF.c"形式引用
*/

static uint32_t udsf_ramp_reg_gene(uint8_t direction,uint16_t bw_mhz,uint16_t t_us,uint8_t width_id) __attribute__((unused));


/* 仅可用于40M频率 ramp寄存器生成，可靠性未完全验证*/
static uint32_t udsf_ramp_reg_gene(uint8_t direction,uint16_t bw_mhz,uint16_t t_us,uint8_t width_id){
	uint32_t tmp = 250000*bw_mhz/t_us;
	uint16_t reg = 0;
	uint32_t u32_reg;

	for( int i=0;i<15;i++){
		if( tmp >  100000000 ){
			tmp -= 100000000;
			reg |= 1<<(14-i);
		}
		tmp*=2;
	}
	if( direction ){
		reg |= 1<<15;
	}
	u32_reg = (reg<<16) + t_us*20 + width_id;

	return u32_reg;
}
#endif
